package com.syh.jn.scm.dto.supplier.base.upstream.supplier;

import com.syh.jn.scm.dto.supplier.base.upstream.supplierAddress.UpstreamAddressSto;
import lombok.Data;
import javax.validation.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 上游供应商
 */
@Data
public class UpstreamSto implements Serializable {
  /**
   * 分类id
   */
  @NotNull(message = "分类id不能为空")
  private Long categoryId;
  /**
   * 归属于那个服务商
   */
  @NotNull(message = "归属id不能为空")
  private Long businessEntityId;
  /**
   * 所属分类,应用分类编码
   */
  private String categoryCode;
  /**
   * 地址省 市 区
   */
  @NotNull(message = "所在地址不能为空")
  private String area;
  /**
   * 单位注册地址
   */
  @NotNull(message = "单位注册地址不能为空")
  private String address;
  /**
   * 地区编号
   */
  private String areaCode;
  /**
   * 单位编号
   */
  private String code;
  /**
   * 单位名称
   */
  @NotNull(message = "单位名称不能为空")
  private String name;
  /**
   * 法人代表
   */
  private String legalRepresentative;
  /**
   * 注册资金（单位 ：万元）
   */
  private Integer registeredCapital;
  /**
   * 工商注册号
   */
  private String registrationCode;
  /**
   * 对公电子邮件
   */
  private String email;
  /**
   * 公司联系电话
   */
  private String tel;
  /**
   * 纳税人类型: 1：一般纳税人 2：小规模纳税人
   */
  @NotNull(message = "纳税人类型不能为空")
  private Short taxpayer;
  /**
   * 地址项不能为空
   */
  @NotEmpty(message = "产地地址项不能为空")
  private List<UpstreamAddressSto> addressListSto;
  /**
   * 营业执照图片url,保存格式json字符串{"img":"www.test.com","img":"www.demo.com"}
   */
  private String businessLicense;
  /**
   * 期初应收总额
   */
  private BigDecimal beginReceiveTotalAmount;
  /**
   * 期初应付总额
   */
  private BigDecimal beginPaymentTotalAmount;
}
